ColorSync™ 3.0 is the latest version of Apple Computer's color management architecture for the Mac OS. This document describes the new features of version 3.0 as well as major features introduced in earlier versions. For more information visit the ColorSync website at http://www.apple.com/colorsync.
What's New in ColorSync™ 3.0
- Device Profiles and Document Profiles
- ColorSync Workflows
- Apple CMM
- Calibration Assistant Expert mode
- Profile path balloons
- Profile descriptions in double byte languages
- Profile First Aid
ColorSync Features
- AppleScript support
- JPEG and GIF support
- Profile Cache File
- Profiles Folder Location and Subfolders
- Photoshop Plug-ins
- Multiprocessing support
- support for 16 bits per channel images
- What gets installed with ColorSync™ 3.0
Device Profiles and Document Profiles
Open the ColorSync control panel and you'll notice under the Profiles tab the addition of a popup which toggles between Profiles for Standard Devices and Default Profiles for Documents. Previous versions of ColorSync only allowed users to choose default profiles to be used for images of unknown origin based on their color space by changing the values of the RGB Default and CMYK Default profile popups. Now these same default profiles, along with the newly added Gray Default and Lab Default profiles, represent the Default Profiles for Documents family. These default profiles can be used by applications both when opening files and when creating new files. For instance, when opening an RGB image that doesn't have an embedded profile, an application might use the profile chosen in the RGB Default setting to represent the image's original color space. Additionally when a user creates a new RGB document, an application can create the image in the color space of the same RGB Default profile. This gives users great flexibility and control at the system level, so no matter what color spaces they prefer to work in, users can open, create, and display images consistently across different applications. It also takes some of the burden off application developers by allowing them to use ColorSync's settings directly instead of having to write their own preference panels.
The Default Profiles for Documents are similar to the ColorSync 2.6 settings, but the Profiles for Standard Devices are an entirely new feature of ColorSync 3.0. It's helpful to think of Document Profiles as preferred color spaces, and to think of Device Profiles as preferred devices. The Input Profile commonly represents a scanner or digital camera, but can also represent a display for images created on the user's system. The Display Profile represents the users monitor, or the preferred monitor if multiple monitors are attached. The Display Profile also represents the System Profile, so when applications request the System Profile they are returned the setting found in the Display popup. The Output Profile represents the destination device of images, meaning the device upon which images will be displayed, and can be set to either a printer or monitor profile. The Proofer Profile is a special case profile usually used in a process called proofing in which images are test-printed on one printer before they are printed on another final destination printer. Proofing can also be done using a display as the proofing device, so both printers and monitors are valid choices for the Proofer Profile.
Users can select profiles in the Input, Display, Output and Proofer popups to reflect devices connected to their system or devices they commonly use. Applications can then correctly match images from their original input device space to the user's display, and also match from the image's color space to the user's printer. For example, let's say a user has just taken some pictures with a digital camera, but at this point the images don't yet contain profiles. When the user opens one of these images in a graphics program, the application might bring up a dialog asking where they came from with choices like “image capture” (input), or “my display” (display), or “web” (default RGB), which is easier to understand than choosing from a long list of profile names. Even simpler, if an application is geared toward tweaking captured images, it can just use the Input Profile from the ColorSync control panel without having to bring up a dialog. Printing can work in a similar manner, with the application always using the Output Profile to represent the user's printer. The real benefit is that the user only has to change profile settings in one place, the ColorSync control panel, and all applications that use those settings will automatically use the right profiles. Users can choose different input devices, output and proofing devices, even preferred document color spaces, and all of their ColorSync aware applications will behave accordingly.
ColorSync Workflows
A new feature of interest to advanced users can be found by opening the ColorSync Control panel and selecting “Workflows…” from the File menu. All of the settings in the ColorSync control panel, including device profile, document profile, and preferred CMM settings, can be saved as individual configurations for quickly selecting between different graphics workflows.
For instance, a user might choose a digital camera as input device and the display as output device when working with images destined for the web, and then save those settings as one ColorSync Workflow. Later, when designing a layout for a magazine, the user might choose a scanner as input device, a SWOP printer as output device, and a laser printer as proofing device, and then save those settings as a second ColorSync Workflow. Once the different workflows are set up it's a snap to switch between them depending on the work at hand. Users can rename their workflows via the “Info…” button in the ColorSync Workflows window and can also add a comment detailing any relevant information. Only one workflow can be in effect at any given time, and the active workflow can be chosen by hitting the “Make Active” button or by double clicking the workflow's name in the list. Once the user makes a ColorSync Workflow active, all the settings in the ColorSync control panel are restored to reflect the settings of the active workflow.
ColorSync Workflows can also be exported and imported. Hitting the “Export…” button allows the user to save a workflow as an encapsulated file. These ColorSync Workflow files not only contain the settings of the control panel but also contain all the profiles specified in the settings and any comments added via the “Info…” button. The only profile not stored in an exported workflow is the Display profile, since the Display profile should always represent a monitor physically attached to the user's system. These files can then be stored with individual graphics projects for later reference and can travel with the projects when delivered to outside parties. Hitting the “Import…” button adds the imported ColorSync Workflow to the workflow list and extracts the encapsulated profiles into a subfolder of the ColorSync Profiles folder with the same name as the workflow. Trading ColorSync Workflow files lets everyone involved with a project to keep track of the origin, intended destination, proofing devices, preferred CMMs and default color space assumptions from design to completion. Graphics outsourcing houses can even post exported ColorSync Workflow files to their web sites so users can download and import ColorSync Workflows describing the various devices available for use. Artists can then design and accurately proof remotely what the job will look like once it's sent in and finished.
Apple CMM
A CMM is a Color Matching Module, a plug-in extension which contains low level color matching algorithms. ColorSync is an architecture of tools, routines, and interfaces which unify and integrate color matching at a system-wide level, whereas CMMs are individual color matching engines that are called by ColorSync. Both are necessary and work together to perform color matching. Apple now ships the Apple CMM bundled into the ColorSync Extension itself as the default CMM. Previous versions of ColorSync used the Heidelberg CMM (also known as the Lino CMM) as default, but since it was part of the ColorSync Extension you may not have been aware of its presence. The Heidelberg CMM is now installed as part of the recommended installation by the ColorSync installer and appears in the Extensions folder. The Kodak CMM and Agfa CMM can be additionally installed and called upon to do color matching by doing a custom install with the ColorSync Installer instead of the default recommended installation.
Users can modify ColorSync's CMM behavior by opening the ColorSync control panel and selecting the “CMMs” tab. The setting “Preferred CMM” is the system level setting that determines which CMM should be used when matching with a given profile. Most profiles contain information specifying which CMM the profile author intended the profile to be used with. When Preferred CMM is set to “Automatic”, ColorSync will use the CMM specified in the profile itself. Below the option for “Automatic” follows a list of all installed CMMs. If any of these specific CMMs is chosen for Preferred CMM, ColorSync will always use that specific CMM regardless of what is specified in the profile. Most users should probably set the Preferred CMM to “Automatic” for best results.
Calibration Assistant Expert mode
The Calibration Assistant has been modified to give users greater flexibility in the creation of profiles for their individual displays. Users can now choose between a simplified default mode and a new Expert calibration mode. In the default mode the display's current gamma is determined by adjusting a grey Apple logo set against a grey background, while in Expert mode users adjust three individual sliders to determine the red, green, and blue response of the display, just like in previous versions of the calibrator. In the default mode the desired gamma and color temperature are chosen from several presets using radio buttons, while in Expert mode users can choose from a range of gammas and temperatures by adjusting sliders to indicate exactly the settings they prefer. The calibrator also communicates with intelligent displays which contain internal phosphor set, gamma and white point information in order to minimize the number of screens presented to the user. So if you're running the Calibration Assistant on an intelligent display you may not even see a panel asking you to select a phosphor set or native white point since the calibrator can determine those settings automatically by getting the information from the display itself.
To use the calibrator open the Monitors (or Monitors & Sound) control panel, click the Color tab at the top, and you’ll see the ColorSync Profiles panel showing a list of profiles. Clicking on the “Calibrate” button brings up the Monitor Calibration Assistant, which then walks you through a series of screens with helpful text describing the purpose of each step in the process.
The assistant helps you create a “profile” of your monitor that describes the gamut of your monitor based on its phosphor set, the inherent gamma of your monitor, the gamma you’re trying to achieve, the white point your monitor is set to, and the white point you’re trying to achieve. After you’ve created and saved a profile, it shows up in the list of available profiles.
The Monitor Calibration Assistant which appears when you click on the “Calibrate” button is the software-only calibrator supplied by Apple. But the calibration system is really a calibration framework, a plug-in architecture which can easily accomodate third party calibration applications. Third parties companies can simply write their own calibrators as plugins to the calibration framework, and when the user hits the “Calibrate” button, a list of all installed calibrators comes up.
You can change the monitor's display characteristics by selecting different profiles in the profile list. To try this out for yourself, first create one profile with a target white point of 6500°k and a second profile with a target white point of 9300°K. In the profiles list (shown in the picture above), click on the 6500°K profile, then click on the 9300°K profile. Notice the monitor changes its white point as you select first one profile, then the other. The same thing goes for different gammas. If you set the gamma to 1.8 for one profile and to 2.2 for another, when you select either in the list, the monitor's display changes to reflect the gamma setting in the profile.
If you have an Apple monitor with built in calibration the Calibration Assistant will not be available for use since the internal hardware calibration system is separate from ColorSync's calibration framework and overrides the Calibration Assistant. As a result, you won’t see the “Calibrate” button on these displays unless you’ve installed a third party calibrator which does take advantage of the framework. You will instead see the “recalibrate” button which initiates your display's built-in calibration system based on the settings in the “Apple DigitalColor Technologies” panel. You will only see this panel if you have a ColorSync Display, an AppleVision Display, or a 21” Apple Studio Display connected to your computer.
Profile path balloons
All ColorSync profiles contain a description tag, which is a string of descriptive text inside the profile. This description tag is what gets displayed in popup menus in applications and in the ColorSync control panel. Usually the description tag contains the file name of the profile, but in some cases the description tag can be completely different from the file name. This makes it difficult to choose a certain a profile from a popup if you're looking for the file name but the displayed description tag in the popup is something else entirely.
A new feature in ColorSync 3.0 is the addition of profile path balloons which show the file name of profiles whose description tag doesn't match their file name. Whenever the cursor moves over a profile in a popup list whose description and file name don't match, a balloon automatically appears displaying the file name of the profile. When the cursor moves over a profile whose description and file name are the same, no balloon appears. A profile path balloon also appears when the cursor moves over a profile not contained in the main ColorSync Profiles folder. It's perfectly legitimate to keep profiles in subfolders of the profiles folder, and it's fine to have aliases to other folders in the profiles folder, but that means it's not always easy to tell from a popup entry where a profile is stored. Now it's easy to tell the location and file name of a profile, even if it's in a subfolder with a weird name.
Profile descriptions in double byte languages
Another issue related to description tags is how to handle ASCII description tag strings on systems with double byte script codes. A description tag actually contains three strings, a ASCII string, an Unicode string, and a Mac script code string. Unicode and Mac script code strings can contain non-English characters and glyphs, whereas ASCII characters can only contain simple characters like A through Z or 0 through 9. Most applications and the ColorSync control panel use the script code string when displaying profile descriptions, but some applications only use the ASCII string. This comes into play when a profile's description contains non-ASCII characters, like Chinese or Japanese characters that look fine on systems with software designed to display double bytes fonts, but are unrecognizable on systems that can't display the appropriate font. When a user on a double byte system uses the Calibration Assistant to create a profile, then goes to name the profile at the end of the process, what happens? Previous versions of the calibrator got around this by giving every calibrated profile the description “Calibrated Profile”. Now with ColorSync 3.0, the Calibration Assistant lets the user enter any string of characters for the description. Then if the string contains any non-ASCII double byte characters, the user is presented with a second dialog asking the user to enter a plain ASCII text string. That way the profile description will contain both a localized double byte description as well as a plain ASCII printable description.
Profile First Aid
Profile First Aid is a utility to examine and correct ICC profiles installed in the “ColorSync Profiles” folder of your System Folder. Released shortly after the availability of ColorSync 2.6, Profile First Aid can now be installed as part of a custom install of ColorSync 3.0.
One important component of an ICC profile, the description tag, contains up to three different names for a profile. This allows the profile name to be displayed in different languages or on different computer systems. Applications typically use one of the available names to show profiles in a list or pop-up menu.
Releases of ColorSync prior to version 2.6 only made partial use of this tag and as a result only performed limited error checking on its contents. As of version 2.6, ColorSync now provides access to the complete contents of the description tag. For this reason it does not display profiles if the description tag does not comply to the ICC specification. If you have profiles installed in your system that do not display in the ColorSync control panel, then you should run this utility to repair them.
AppleScript Support
You can use AppleScript to do the same kinds of ColorSync matching previously available only in the ColorSync Photoshop plug-ins or in third party applications. You can get detailed information about profiles in the ColorSync Profiles folder, profiles associated with displays, and profiles embedded within images. Most of these attributes of profiles can also be changed by the user via AppleScript. Images can be matched and proofed, and profiles can be embedded into or removed from images. There are several sample AppleScripts included with ColorSync, so you can cut, paste and modify parts of them for your own use. See the Sample Scripts Read Me in the “ColorSync Extras:AppleScript Files” folder for detailed information about writing AppleScripts for ColorSync.
This scriptability is the result of the ColorSync Extension being a faceless background application, as opposed to the simple extension ColorSync used to be. As a scriptable application, it has its own AppleScript dictionary. You can examine this dictionary by finding “ColorSync Extension” in the extensions folder and dragging it onto the Script Editor, which is in the Apple Extras folder inside the AppleScript folder. Script Editor then brings up a window with all the commands the ColorSync Extension will respond to. It can embed, match, proof, link, and even quit. But don’t expect to see it in your processes list, because it’s faceless...it’s there, you just can’t see it.
JPEG and GIF support
Prior to ColorSync 2.6 only TIFF images could be used with the ColorSync Photoshop Plug-ins and with AppleScripts performing ColorSync operations. Now both Applescripts and the plug-ins will work with images saved in the widely used JPEG and GIF formats. This opens up a whole world of web based ColorSync workflows for the designer and allows users to easily embed and match images for use in their own web pages, bringing ColorSync directly to the web. Web browsers can correctly render images with embedded or associated profiles on the user's display, calling ColorSync to match from the image's profile to the user's display profile, ensuring that web based images get rendered the way they were intended to be seen.
Profile Cache File
ColorSync makes use of a cache file in the Preferences folder to keep track of the currently installed profiles. Through a series of checks on the modification date of each profile, the modification dates of folders and subfolders, and the total number of profiles installed, ColorSync is able to quickly determine whether any profiles have been added or removed, passing this information on to applications requesting it. This can potentially speed up profile management routines such as building a list of profiles or displaying a pop-up menu of the available profiles.
Profiles Folder Location and Subfolders
Prior to ColorSync 2.5, ColorSync would search in the “ColorSync™ Profiles” folder inside the Preferences folder for all installed profiles. ColorSync 2.5 and later versions place a “ColorSync Profiles” folder directly in the System Folder. This change was made so that users would not accidentally delete all their profiles if they deleted other preferences and, perhaps more importantly, so profiles can be automatically routed to the profiles folder. As of MacOS 8.5, users can drag profiles onto the System Folder icon and the system will place the profiles in the appropriate place, in the same way that extensions and control panels get automatically placed. For backward compatibility, ColorSync creates an alias to the old “ColorSync™ Profiles” folder inside the new “ColorSync Profiles” folder.
Another feature of the “ColorSync Profiles” folder is that it allows profiles to be placed in subfolders. For example you could organize your profiles folder as shown below.
Profiles stored one level deep (as in a folder “ColorSync Profiles:MyProfiles”) will show up correctly in lists and be available for use. Profiles stored two levels deep (as in a folder “ColorSync Profiles:MyProfiles:Hidden”) will not show up, so you can hide profiles you don't use often, if you like.
Applications can (and should) call ColorSync to get the list of currently installed profiles, as opposed to assuming the path to the original folder. This is especially necessary to support the new subfolder feature. Previous versions of ColorSync only looked at profiles inside the Profiles Folder, but didn’t look inside subfolders. That’s fine if you only have a few profiles, but it’s nice to be able to organize your profiles into subfolders for clarity, especially if you have several dozen of them. Note that it’s okay to have subfolders, individual profiles, and aliases within the profiles folder.
Photoshop Plug-ins
ColorSync ships with three Photoshop plug-ins called ColorSync Filter, ColorSync Import, and ColorSync Export. You can use these with Photoshop or any other app that supports Photoshop format plug-ins. The plug-ins are not installed as part of a default installation, but you can do a custom install to gain access to them. As of MacOS 8.5, the ColorSync installer can be found as a package within the main MacOS installer.
Find your system software installer CD and launch the “Mac OS Install” icon. When you get to the screen “Click Start to install Mac OS 8.5 on (your disk)”, the hit “Customize” to bring up a list of packages. Scroll down to the entry for ColorSync, and instead of leaving the popup selected as “recommended installation”, just click the popup to select “customized installation” . Put a check next to the additional packages you want to install.
Experimenting with the Photoshop plug-ins can be a great aid to understanding what ColorSync actually does. In Photoshop the ColorSync Filter is accessible from the “Filters” menu, while Export and Import are accessible from the “File” menu.
Using the ColorSync Filter to do a proof is probably the most instructional example. Open an RGB image, then run the ColorSync filter, selecting the “proof” tab. Select a monitor profile for the source, and the same monitor profile for the proof, but select a printer profile as the destination. You should be able to see the color difference between the original image and the proofed image. By the way, what you’re doing is simulating what the image would look like if it were printed using that printer. By selecting different printers as the destination, you can compare what the image would look like on each printer. See the “ColorSync Plug-ins ReadMe” file for detailed information on how the plug-ins work.
Multiprocessing Support
ColorSync can take advantage of multiprocessor machines when performing matching operations. The matching algorithms are optimized to take advantage of multiple processors with about 90% efficiency. It’s scalable too, so in the presence of four processors, a given operation will take about a fourth of the time required with a single processor.
In low memory conditions on systems with 16mb or less of installed memory, you may occasionally see a warning dialog appear saying “The MP library could not be completely initialized due to insufficient memory.” This is an artifact of the multiprocessing library itself and can safely be ignored if your machine only has one processor - if none of this sounds familiar, then chances are you’ve only got one processor. If you see the warning often, you may wish to avoid its appearance by removing the Multiprocessing extensions from your extension folder.
Support for 16 bits per channel images
ColorSync supports matching to and from high-resolution images which use 16 bits per channel. Most common RGB images use no more than 8 bits per channel (256 degrees of red, 256 degrees of green, 256 degrees of blue) which when combined result in 16,777,216 possible colors - that’s the “millions of colors” option you may have seen when setting the color depth of your monitor using the Control Strip. In comparison, a 16 bits per channel image may describe up to 65,536 shades in each red, green, and blue channel, resulting in over 218 trillion possible color combinations.
What gets installed with ColorSync™ 3.0
Choosing the “Easy Install” option during installation installs the control panel “ColorSync” and the extension “ColorSync Extension” into the appropriate folders of your system folder, installs the Heidelberg CMM into the extensions folder, and also installs the following files into the “ColorSync Extras” folder of the “Apple Extras” folder of your hard disk:
- About ColorSync
- AppleScript Files: Sample Scripts Read Me
- AppleScript Files: AutoMatch
- AppleScript Files: Drop Embed
- AppleScript Files: DropProof
- AppleScript Files: Match to CMYK
- AppleScript Files: PC to Mac Gamma
- AppleScript Files: Embed chosen profile
- AppleScript Files: Embed specific profile
- AppleScript Files: Match to chosen profiles
- AppleScript Files: Match to specific profiles
- AppleScript Files: Proof to chosen profiles
- AppleScript Files: Proof to specific profiles
- AppleScript Files: Build profile info web page
- AppleScript Files: Change display profile
- AppleScript Files: Mimic PC monitor
- AppleScript Files: Recursive embedder
- AppleScript Files: Remove profile from image
- AppleScript Files: Rename profile
- AppleScript Files: Set profile info
- AppleScript Files: Show profile info
The “Easy Install” also installs the following ColorSync Profiles into the “ColorSync Profiles” folder of the “System Folder” of your hard disk:
- Apple 13" RGB Standard
- Apple Multiple Scan 1705
- Apple Multiple Scan 17 - 9300
- Apple Multiple Scan 17 - D50
- Apple Multiple Scan 17 - D65
- Apple Multiple Scan 20 - 9300
- Apple Multiple Scan 20 - D50
- Apple Multiple Scan 20 - D65
- ColorSync Display 9300
- Twentieth Anniversary Macintosh
- iMac Display
- PowerBook 2400 Standard
- PowerBook 3400
- PowerBook G3 Series
- sRGB Profile
- Studio Display 17 - 9300
- Studio Display 21 - 9300
- Studio Display AMLCD
- Color OneScanner 1200/30
- Color OneScanner 600/27
- CS ColorMatch 3.01 SWOP Sf C
You may also perform a “Custom Install” of ColorSync, allowing you to install any or all of the following:
- the Kodak CMM in the extensions folder,
- the Agfa CMM in the extensions folder,
- the ColorSync Plugins and Plugins ReadMe in the ColorSync Extras folder,
- the following additional ColorSync profiles in the ColorSync Profiles folder:
- Apple 12" RGB Standard
- Apple 16" RGB Page-White
- Apple 16" RGB Standard
- Apple 21" RGB Page-White
- Apple 21" RGB Standard
- Apple Multiple Scan 14
- Apple Multiple Scan 15
- Apple Performa Display
- Apple Performa Plus Display
- Mac Color Display Standard
- Color SW 1500 Pattern
- Color SW 1500 Scatter
- Color SW 2500 Pattern
- Color SW 2500 Pattern Best 1
- Color SW 2500 Pattern Best 2
- Color SW 2500 Scatter
- Color SW 2500 Scatter Best 1
- Color SW 2500 Scatter Best 2
- CSW 6500 Coated
- CSW 6500 Plain
- CSW 6500 Specialty
- Color LW 12/600 PS Profile
- Color LW 12/600 PS Profile
- 4/C Ctd. TRUMATCH/RIT/Profile80
Supported Configurations
ColorSync 3.0 is designed to work on PowerPC (or newer) machines running System 8.5 or later.